﻿// JScript 文件
//定义全局变量
var arrQuestion = new Array();
var qNum = 0;//当前问卷问题编号
$(document).ready(function(){
    //初始化问卷
    if(getParameter("qnid"))
    {
        $("#qnid").val(getParameter("qnid"));
        $("#title").html("修改问卷");
        $("#bntEdit").attr("class","active");
        $("#bntAdd").attr("class","");
    }
    else
    {
        $("#title").html("问卷添加");
        $("#bntEdit").attr("class","");
        $("#bntAdd").attr("class","active");
    }
    InitSurvey();
    //初始化按钮
    $('ul.icons li').hover(
			    function() { $(this).addClass('ui-state-hover'); }, 
			    function() { $(this).removeClass('ui-state-hover'); }
		    );
    // 初始化弹出窗口			
	$('#dialog').dialog({
		autoOpen: false,
        width:650,
	    height:450,    
	    modal:true,
	    resizable:false,
	    closeOnEscape:true,
		buttons: {
			"Ok": function() {
			    if($("#QuestionName").val())
			    { 
			        UpOneQuestion($("#Qid").val());
				    
				}
				else
				{
				    alert("请填写问题名称！");
				} 
			}, 
			"Cancel": function() { 
				$(this).dialog("close"); 
			} 
		}
	});
	
	
	// 绑定弹出窗口
	$('#Open_link').click(function(){
	    $("#QuestionName").val("");
		$('#dialog').dialog('open');
		//初始化选项
		InitOption();
		return false;
	});
	//选择问题类型
	$('.QuestionType').click(function(){
	    switch ($(this).attr("value"))
	    {
	        case "single":
	           InitOption();
	           $('#QuestionType').val("single");
	           $("#additem").show();
	        break;
	        case "single_other":
	           InitOption();
	           $('#QuestionType').val("single_other");
	           $("#additem").show();
	        break;
	        case "multicheck":
	            InitOption();
	            $('#QuestionType').val("multicheck");
	            $("#additem").show();
	        break;
	        case "multicheck_other":
	            InitOption();
	            $('#QuestionType').val("multicheck_other");
	            $("#additem").show();
	        break;
	        case "singleblank":
	            $(".repeat").remove();;
	            $('#QuestionType').val("singleblank");
	            $("#additem").hide();
	        break;
	    }
	    
	});
	
	   
    //添加按钮事件绑定   
    $("#additem").click(function(){ 
        $("#OptionAdd>.template")   
            //连同事件一起复制   
            .clone(true)   
            //去除模板标记   
            .removeClass("template") 
            .addClass("repeat")  
            //修改内部元素   
            .find(".content")   
                .html("选项:&nbsp;&nbsp;<input type='text' class='text' rel='0' style='width:300px' maxlength='200'>")   
                .end()  
            .find(".del")   
                .html("<ul class='icons'><li class='ui-state-default ui-corner-all' ><span class='ui-icon ui-icon-minusthick'></span></li></ul>")   
                .end()         
            //插入表格   
            .appendTo($("#OptionAdd"))   
         
    });
    
});

//初始化问卷
function InitSurvey()
{
    qNum = 0
    //获得问卷ID
    
    var qnid = $("#qnid").val();
    $.ajax({
        type:"GET",
        url:"Comsrv/Comsrv.aspx",
        dataType:"json",
        data:"oper=GetQuestionnaire&qnid="+qnid,
        success:function(data){
            $("#txtQuestionnaire").val(data[0].TITLE);
            ArrayForm = data[0].Questions;
             $("#QuestionForm").empty();
            if ( ArrayForm.length>0 )
            {
                
               
                var html ="";
                for (var i=0;i<ArrayForm.length;i++)
                {
                    qNum++;
                    html+="<h4 id='Q"+ArrayForm[i].Id+"' rel = '"+ArrayForm[i].QUESTION1+"' qType = '"+ArrayForm[i].TYPE+"' idx='"+ArrayForm[i].ORDERIDX+"'><a href='#'>"+qNum+"."+ArrayForm[i].QUESTION1+"</a></h4><div id='D"+ArrayForm[i].Id+"'>";
                    switch ( ArrayForm[i].TYPE )
                    {
                        case "single":
                            html+=FormatSingle(ArrayForm[i]);
                        break;
                        
                        case "single_other":
                            html+=FormatSingleOther(ArrayForm[i]);
                        break;
                        
                        case "multicheck":
                            html+=FormatMulticheck(ArrayForm[i]);
                        break;
                        
                        case "multicheck_other":
                            html+=FormatMulticheckOther(ArrayForm[i]);
                        break;
                        
                        case "singleblank":
                            html+=FormatSingleBlank(ArrayForm[i]);
                        break;
                    }
                    
                    
                    html+="<li><span class='bnt' onclick='BindEdit("+ArrayForm[i].Id+")' >[Edit]</span>";
                    html+="&nbsp;&nbsp;&nbsp;<span class='bnt' onclick='BindDel("+ArrayForm[i].Id+")' >[Del]</span></li>";
                    html+="</div>";
                    
                }
                $("#QuestionForm").html(html);
                InitAcc(qNum-1);
            }
        }      
    });
 }
//提交问题处理
function UpOneQuestion(Qid)
{
    handleLoading(1);
    var qn = new dtoQuestionnaire();
    qn.Id = $("#qnid").val();
    qn.TITLE = escape($("#txtQuestionnaire").val());
    qn.STATE = 0;
    
    var q = new dtoQuestion();
    q.TYPE = $("#QuestionType").val();
    q.QUESTION1 = escape($("#QuestionName").val());
    q.ORDERIDX = $("OrderIDX").val();
    q.Id = Qid;
    
    
    $("#OptionAdd input").each(function(){
      if ($(this).attr("value"))
      {
        var o = new dtoOption();
        o.VAL = escape($(this).attr("value"));
        o.LABEL = escape($(this).attr("value"));
        o.Id = $(this).attr("rel");
        q.Options.push(o);
      }
    });
    
    //问题校验
    var isRight = true;
    var isDuble = true;
    if (q.TYPE!="singleblank")
    {
        if (q.Options.length == 0)
        {
           alert("对不起,一个问题至少得有一个选项！");
           isRight = false;
           handleLoading(0);
        }
        else
        {
            for(var i=0;i<q.Options.length;i++)
            {
                for(var j=0;j<q.Options.length;j++)
                {
                    if (q.Options[i].VAL == q.Options[j].VAL&&i!=j)
                    {
                        isDuble = false;
                        
                    }
                }
            }
        }
    }
    if(!isDuble)
    {
        alert("选项不能重复！");
        handleLoading(0);
    }
    if (isRight&&isDuble)
    {
        var jsonText = JSON.stringify(qn)
        //上传数据
        $.ajax({
          type: "POST",
          url: "./Comsrv/Comsrv.aspx?oper=PutQN&Qnid="+$("#qnid").val(),
          data: jsonText,
          success: function(msg){
             if(msg)
             {
                    $("#qnid").val(msg);
                    jsonText = JSON.stringify(q)
                    //上传数据
                    $.ajax({
                      type: "POST",
                      url: "./Comsrv/Comsrv.aspx?oper=PutQuestion&Qnid="+msg,
                      data: jsonText,
                      success: function(msg){
                            if (msg=="true")
                            {
                                //alert("问题提交成功！")
                               InitSurvey();
                               InitAcc(Qid-1);
                               handleLoading(0);
                               $("#dialog").dialog("close");
                            }
                            else
                            {
                               alert("对不起操作失败,请重新尝试！");     
                                 
                            }
                       }
                    });
               }
               else
               {
                    alert("添加问卷失败！");
               }
           }
        });
    }
    
    
}

//初始化选项
function InitOption()
{
    $(".repeat").remove();
    var html= "<tr class='repeat'> ";  
        html+="    <td class='content'>选项:&nbsp;&nbsp;<input type='text' class='text' rel='0' style='width:300px' maxlength='200'></td>  ";
        html+="    <td class='del'><ul class='icons'><li class='ui-state-default ui-corner-all' ><span class='ui-icon ui-icon-minusthick'></span></li></ul></td>  ";
        html+="</tr>";
    for(var i=0;i< 4;i++)
    {
        $("#OptionAdd").append(html)
    }
    //删除按钮绑定
    $("#OptionAdd .del").click(function() {   
        $(this).parents(".repeat").remove();   
    });
}

//绑定编辑事件
function BindEdit(Qid)
{
    $(".repeat").remove();
    $("#QuestionName").val($("#Q"+Qid).attr("rel"));
    $("#QuestionType").val($("#Q"+Qid).attr("qType"));
    $("#OrderIDX").val($("#Q"+Qid).attr("idx"));
    
    $("#D"+Qid+" input").each(function(j){
        
        html= "<tr class='repeat'> ";  
        html+="    <td class='content'>选项:&nbsp;&nbsp;<input type='text' class='text' value='"+$(this).attr("value")+"' rel='"+$(this).attr("ID").split('_')[2]+"' style='width:300px' maxlength='200'></td>  ";
        html+="    <td class='del' rel='"+$(this).attr("ID").split('_')[2]+"'><ul class='icons'><li class='ui-state-default ui-corner-all' ><span class='ui-icon ui-icon-minusthick'></span></li></ul></td>  ";
        html+="</tr>";
        $("#OptionAdd").append(html)
    });
    
    //删除按钮绑定
    $("#OptionAdd .del").click(function() {  
        //DelOption($(this).attr('rel'));
        $(this).parents(".repeat").remove();
    });
    
	$('#dialog').dialog('open');
	//初始化选项
	$("#Qid").val(Qid);
	setRadio("QuestionType",$("#QuestionType").val());

}




//删除问题
function BindDel(Qid)
{
    c=window.confirm("删除后的问题及选项将无法恢复，您确认继续删除吗?");   
    if(c==true)
    {
        //上传数据
        $.ajax({
          type: "POST",
          url: "./Comsrv/Comsrv.aspx?oper=DelQuestion&Qid="+Qid,
          success: function(msg){
                if (msg=="true")
                {
                   InitSurvey();
                }
                else
                {
                   alert("出错啦！");
                     
                }
           }
        });
    }   
    else   
    return   false;
}
//提交问卷
function SubmitForm(state)
{
    if($("#txtQuestionnaire").val())
    {
        var qn = new dtoQuestionnaire();
        qn.Id = $("#qnid").val();
        qn.TITLE = escape($("#txtQuestionnaire").val());
        qn.STATE = state;
        
        var jsonText = JSON.stringify(qn)
        //上传数据
        $.ajax({
          type: "POST",
          url: "./Comsrv/Comsrv.aspx?oper=PutQN&Qnid="+$("#qnid").val(),
          data: jsonText,
          success: function(msg){
            if(msg)
            {
                if(state==0)
                {
                    alert("问卷已保存！");
                    window.location.href="SurveyList.aspx?state=0";
                }
                else
                {
                    alert("问卷发布成功！");
                       window.location.href="SurveyList.aspx";
                }
             }
             else
             {
                 alert("对不起失败,请重新尝试！");     
             }
           }
        });
    }
    else
    {
        alert("请填写问卷名称!")
    }
    
        
}


function InitAcc(openid)
{
    $("#QuestionForm").accordion("destroy");
      // Accordion
    $("#QuestionForm").accordion({ 
        header: "h4" ,
        active:openid, //设置默认打开的面板数，设置为false后，默认全关闭
        autoHeight:false, //是否设定最高面板高度为其它所有面板高度。
        collapsible:false, //是否允许折叠全部面板。设为 false 时必须显示一个面板。
        fillSpace:false //设置为 true 时，高度自动填充满父元素。将覆盖 autoHeight 属性。
    });
}

function handleLoading(state)
{
    if(state==1)
    {
        var html = "<div class='ui-overlay'><div class='ui-widget-overlay'></div></div>"
        html +="<div style='position: absolute; width: 200px; height: 15px;left: 400px; top:200px; padding: 10px;' class='ui-widget ui-widget-content ui-corner-all'>";
        html +="<img src='CSS/images/012.gif' border=0/></div>";
        $('#Loading').append(html);
    }
    else
    {
        $('#Loading').empty();
    }
}




